package com.itheima.springmvc.controller;

import com.itheima.springmvc.pojo.Result;
import com.itheima.springmvc.pojo.User;
import com.itheima.springmvc.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * @author ：sean
 * @date ：Created in 2022/4/16
 * @description ：
 * @version: 1.0
 */
@RestController
@RequestMapping("/user")
@Slf4j//添加该注解之后相当于在类中添加了一个log对象 可以随时打印日志
public class UserController {
	@Autowired
	private UserService userService;

	@GetMapping("/queryAll")
	public Result queryAll(){
		//通过log变量调用debug 日志为debug模式级别 因为设置了在控制台输出 所以可以在控制台看到
		log.info("[web层 开始查询数据]");
		List<User> users = userService.queryAll();
		log.info("[web层 查询users:{}]",users);
		return new Result(true,"数据查询成功",users);
	}

	@GetMapping("/{id}")
	public Result findById(@PathVariable("id") Integer id){
		//通过log变量调用debug 日志为debug模式级别 因为设置了在控制台输出 所以可以在控制台看到
		log.info("[web层 开始查询数据]");
		User user = userService.queryUserById(id);
		log.info("[web层 查询users:{}]",user);
		return new Result(true,"数据查询成功",user);
	}

	@PostMapping("")
	public Result add(@RequestBody User user){
		log.info("[添加,user:{}]",user);
		userService.add(user);
		return new Result(true, "新增用户数据成功");
	}

}
